<?php

/*
 *---------------------------------------------------------------
 * 框架环境
 *---------------------------------------------------------------
 *
 * 你可以根据你的需要来配置环境。不过设置环境模式会影响到诸如日志记录
 * 及错误报告等方面。
 * 
 * 环境可以任意设置，推荐的选项如下:
 *
 *     development
 *     testing
 *     production
 *
 * 提示: 如果你没有使用推荐选项, 那么你同样需要更改下面的错误报告项目
 *
 */
	define('ENVIRONMENT', 'development');
/*
 *---------------------------------------------------------------
 * 错误报告
 *---------------------------------------------------------------
 *
 * 不同环境对应不同的错误报告级别。默认的development（开发模式）模式
 * 下会显示错误，testing和production模式不会显示错误。此处可以自定义
 * 错误级别和相应模式名称。
 */

if (defined('ENVIRONMENT'))
{
	switch (ENVIRONMENT)
	{
		case 'development':
			error_reporting(E_ALL);
		break;
	
		case 'testing':
		case 'production':
			error_reporting(0);
		break;

		default:
			exit('应用环境配置错误！');
	}
}

/*
 *---------------------------------------------------------------
 * 系统文件夹名称
 *---------------------------------------------------------------
 *
 * 该变量的值必须为系统文件夹的名称，默认的系统文件夹为system，当然，
 * 你也可以把文件夹的名称改成其他的，但是必须保证文件夹里面的内容不变，
 * 并且和此处的变量值是一致的。
 *
 */
	$system_path = 'system';

/*
 *---------------------------------------------------------------
 * 应用程序文件夹名称
 *---------------------------------------------------------------
 *
 * 此处同上。不过该文件夹的位置可以移动，但是必须保证在填写下面变量的
 * 时候用的是移动之后该文件夹的绝对路径。
 * 例如：'/Path/to/your/application'。
 * 
 * 提示：结尾没有斜杠！
 *
 */
	$application_folder = 'application';

/*
 * --------------------------------------------------------------------
 * 默认控制器
 * --------------------------------------------------------------------
 *
 * 默认的控制器一般是在routes.php里面设置。不过你也可以在这个地方直接把控制器
 * 写死。当然，绝大多数情况下你并不需要这样子做。该配置只是针对极其特殊的情况，
 * 比如：你有多套应用程序共享一个CI内核的时候。简单点说就是一个'system'文件夹，
 * 多套'application'文件夹的情况。(这样你可以自己来实现路由或者通过配置此处实
 * 现多套程序的快速切换)
 *
 * 警告：如果你在此处进行了相应的配置，那么其他的任何控制器均不会再被调用，也
 * 就是说通过配置该项目可以实现一个唯一有效的控制器。如果你希望通过URI来动态的
 * 调用控制器当中的函数，那么函数名称这一项不需要配置。
 *
 * 通过删除$routing数组的注释来开启此功能
 *
 */

	// 控制器目录名称。如果该控制器不是位于'controllers'的子文件夹中的话，该项
	// 不需配置。
	// $routing['directory'] = '';

	// 控制器类名称，例如：Mycontroller
	// $routing['controller'] = '';

	// 函数名称
	// $routing['function']	= '';


/*
 * -------------------------------------------------------------------
 *  自定义配置项目
 * -------------------------------------------------------------------
 *
 * The $assign_to_config array below will be passed dynamically to the
 * config class when initialized. This allows you to set custom config
 * items or override any default config values found in the config.php file.
 * This can be handy as it permits you to share one application between
 * multiple front controller files, with each file containing different
 * config values.
 * 当config类被初始化的时候$assign_to_config数组会被动态的传递给它。因此此
 * 处允许你自定义配置项目或者是重写config.php文件里面的配置项目。
 *
 * 通过删$assign_to_config数组的注释来开启该功能
 *
 */
	// $assign_to_config['配置项的名称'] = '配置项的值';



// ---------------------------------------------------------------
//  用户可配置项目至此结束。下面的项目切勿修改
// ---------------------------------------------------------------

/*
 * ---------------------------------------------------------------
 *  解决系统路径问题以便提高可靠性
 * ---------------------------------------------------------------
 */

	// 如果是CLI请求则将PHP操作目录修改为当前这个目录
	if (defined('STDIN'))
	{
		chdir(dirname(__FILE__));
	}

	if (realpath($system_path) !== FALSE)
	{
		$system_path = realpath($system_path).'/';
	}

	// 确保结尾处有一个路径分隔符
	$system_path = rtrim($system_path, '/').'/';

	// 判断系统路径是否有效
	if ( ! is_dir($system_path))
	{
		exit("系统文件夹路径没有被正确设置，请打开下面的文件并进行纠正: ".pathinfo(__FILE__, PATHINFO_BASENAME));
	}

/*
 * ---------------------------------------------------------------
 *  通过以上确保了路径是正确的， 接着就是定义主要路径常量
 * ---------------------------------------------------------------
 */
	// 定义当前文件名为常量(index.php)
	define('SELF', pathinfo(__FILE__, PATHINFO_BASENAME));

	// 定义PHP文件扩展名常量
	// 该全局常量已经被废弃
	define('EXT', '.php');

	// 定义系统文件夹路径常量
	define('BASEPATH', str_replace("\\", "/", $system_path));

	// 定义前端控制器路径常量(即index.php路径常量)
	define('FCPATH', str_replace(SELF, '', __FILE__));

	// 定义系统文件夹名为常量
	define('SYSDIR', trim(strrchr(trim(BASEPATH, '/'), '/'), '/'));


	// 定义应用程序文件夹路径为常量
	if (is_dir($application_folder))
	{
		define('APPPATH', $application_folder.'/');
	}
	else
	{
		if ( ! is_dir(BASEPATH.$application_folder.'/'))
		{
			exit("应用程序路径设置错误，打开一下文件并进行纠正：".SELF);
		}

		define('APPPATH', BASEPATH.$application_folder.'/');
	}

/*
 * --------------------------------------------------------------------
 * 加载引导文件
 * --------------------------------------------------------------------
 */
require_once BASEPATH.'core/CodeIgniter.php';

/* End of file index.php */
/* Location: ./index.php */